package html;

import cn.hutool.core.io.IoUtil;
import freemarker.cache.StringTemplateLoader;
import freemarker.template.Configuration;
import freemarker.template.Template;

import java.io.IOException;
import java.util.Locale;

/***
 * freemaker工具类
 *
 */
public class FreemarkerUtils {

    /**
     * 通过文件名加载模版
     * @param ftlName
     */
    public static Template getTemplate(String ftlName) {
        try {
            // 通过Freemaker的Configuration读取相应的ftl
            Configuration cfg = new Configuration();
            StringTemplateLoader stringLoader = new StringTemplateLoader();
            stringLoader.putTemplate(ftlName, IoUtil.read(FreemarkerUtils.class.getClassLoader().getResourceAsStream(ftlName), "UTF-8"));
            cfg.setEncoding(Locale.CHINA, "utf-8");
            // 设定去哪里读取相应的ftl模板文件
            cfg.setTemplateLoader(stringLoader);
            // 在模板文件目录中找到名称为name的文件
            Template temp = cfg.getTemplate(ftlName);
            return temp;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

}
